<html>
  <head>
    <title>业务异常 BusinessException</title>
  </head>
  <body>
    <script>
      /*
                    三、业务异常

                            你自己的大多数异常将是业务异常。
                            IBusinessException 接口用于将异常标记为业务异常。

                            BusinessException 除了 IHasErrorDetails 、IHasErrorDetails 和 IHasLogLevel 接口外，
                            还实现了IBusinessException接口。默认日志级别为 Warining.

                            通常你有一个与特定业务异常相关的错误代码。例如:

                                throw new BusinessException(QaErrorCodes.CanNotVoteYourOwnAnswer);

                            QaErrorCodes.CanNotVoteYourOwnAnswer只是一个const string。建议使用以下错误代码格式：
                               
                                <code-namespace>:<error-code>

                            code-namesspace是特定于你的模块/应用程序的唯一值。例子:

                                    Volo.Qa:010002
                            
                            Volo.Qa是这里的代码命名空间.代码命名空间将在本地化异常消息时使用。

                                    你可以在需要时直接抛出一个BusinessException或从中派生你自己的异常类型。

                                    BusinessException类的所有属性都是可选的。 

                                    但是你通常设置ErrorCode或Message属性。
                */
    </script>
  </body>
</html>